var sysId;
$(function() {
	loadDemoTree();
});
// 初始化树
function loadDemoTree() {
	$('#classTree').tree({
		checkbox : false, /* 是否带复选框 */
		lines : true, /* 线条 */
		method : 'post' /* 请求数据方式 */,
		url : 'platform/LantopFieldMapSetController/findChildsByNodeId', /* 请求数据地址 */
		dataType : "json", /* 数据格式 */
		onSelect : function(node) {
			// 树节点单击事件
			onClickRowEvent(node);
		},
		loadFilter : function(data) {
			// 过滤后台返回的数据，处理不同json结构
			if (data.data) {
				return data.data;
			} else {
				return data;
			}
		},
		onLoadSuccess : function() {
			var node = $("#classTree").tree("getRoot");
			if (node != null) {
				$("#classTree").tree("select", node.target);
			}
		},
		formatter : function(node) {
			return '<span title="' + node.text + '">' + node.text + '</span>';
		}
	});
}

// 点击的节点刷新表格
function onClickRowEvent(node) {
	var type = node.attributes.TABLE_IS_TRUE_TABLE;
	var sourceTableId = node.attributes.ID;
	var tableName = node.attributes.TABLE_NAME;
	// 如果为库表
	if (type == "Y") {// 点击真实表
		$('#mapSetAddForm').linkbutton('enable');
		$('#mapSetEditForm').linkbutton('enable');
		$('#deleteMapSet').linkbutton('enable');
		$('#conditionSet').linkbutton('disable');
		refrash(sourceTableId);
	} else if (type == "N") {// 点击虚拟表
		$('#mapSetAddForm').linkbutton('enable');
		$('#mapSetEditForm').linkbutton('enable');
		$('#deleteMapSet').linkbutton('enable');
		if ("LANTOP_PUB_FIELD" == tableName) {
			$('#conditionSet').linkbutton('enable');
		}
		refrash(sourceTableId);
	}else if (sourceTableId!=null){ // SanXiaFiles create by zhaoxiaolong 源库表存在时的特殊处理（针对外部接口字段对应配置）
		$('#mapSetAddForm').linkbutton('enable');
		$('#mapSetEditForm').linkbutton('enable');
		$('#deleteMapSet').linkbutton('enable');
		$('#conditionSet').linkbutton('disable');
		refrash(sourceTableId);
	} else if (type == null) {// 点击非物理表
		$('#mapSetAddForm').linkbutton('disable');
		$('#mapSetEditForm').linkbutton('disable');
		$('#deleteMapSet').linkbutton('disable');
		$('#conditionSet').linkbutton('disable');
		refrash("@@@@@");
	}
}
// 刷新表格
function refrash(sourceTableId) {
	var url = "platform/LantopFieldMapSetController/getLantopFieldRelateData.json?sourceTableId="
			+ sourceTableId;
	$('#lantopFieldMapSetDataGrid').datagrid("options").url = url;
	$("#lantopFieldMapSetDataGrid").datagrid('load', {
		param : null
	});
}

/**
 * 设置对应弹出页
 */
function mapSetForm(flag) {
	var node = $('#classTree').tree('getSelected');// 选中的节点
	var type = node.attributes.TABLE_IS_TRUE_TABLE;// 节点属性标识（Y 真实表 N 虚拟表 ）
	var sourceTableId = "";// 编辑时，源表ID
	var sourceTableLable = "";// 源表中文名
	var tgtTableId = "";// 编辑时，目标表ID
	var tgtTableLable = "";// 目标表中文名
	var tgtClassNodeId = "";// 编辑时， 目标节点ID
	var sysId = "";// 系统名称
	var title = "";// 子页面title
	var sourceTableName = ""; // 源库表名
	if (flag == "edit") {// 编辑
		var rows = $("#lantopFieldMapSetDataGrid").datagrid('getChecked');
		if (rows.length == 0) {
			//commonLang.tip.alert替换'提示',commonLang.optip.edit.selectOne替换'请选择一条记录进行编辑！'
			$.messager.alert(commonLang.tip.alert, commonLang.optip.edit.selectOne, 'warning');
			return false;
		}
		if (rows.length > 1) {
			//commonLang.tip.alert替换'提示',commonLang.optip.edit.onlyOne替换'只能选择一条记录进行编辑！'
			$.messager.alert(commonLang.tip.alert, commonLang.optip.edit.onlyOne, 'warning');
			return false;
		}
		sourceTableId = rows[0].SOURCE_TABLE_ID;
		sourceTableLable = rows[0].SOURCE_TABLE_TITLE;
		sourceTableName = rows[0].TGT_TABLE_NAME_EN;
		tgtTableId = rows[0].TGT_TABLE_ID;
		tgtTableLable = rows[0].TGT_TABLE_TITLE;
		tgtClassNodeId = rows[0].TGT_ARCHIVE_CLASS_ID;
		type = rows[0].TGT_TABLE_IS_TRUE_TABLE;
		//commonLang.tip.edit替换"编辑"
		title = commonLang.tip.edit;
	} else {// 添加
		sourceTableId = node.attributes.ID;
		sourceTableLable = node.attributes.ARCHIVE_CLASS_NODE_NAME;
		sourceTableName = node.attributes.TABLE_NAME;
		//commonLang.tip.setMap替换"设置对应"
		title = commonLang.tip.setMap;
		type = node.attributes.TABLE_IS_TRUE_TABLE;
	}
	sysId = node.attributes.SYS_ID;
	var dialogId = "FormMapSetDialog";
	sourceTableLable = encodeURI(sourceTableLable);
	tgtTableLable = encodeURI(tgtTableLable);
	var toActionUrl = "platform/LantopFieldMapSetController/toMapSetPage?dialogId="
			+ dialogId
			+ "&sourceTableId="
			+ sourceTableId
			+ "&sourceTableLable="
			+ sourceTableLable
			+ "&tgtTableId="
			+ tgtTableId
			+ "&tgtTableLable="
			+ tgtTableLable
			+ "&sysId="
			+ sysId
			+ "&flag="
			+ flag
			+ "&type="
			+ type
			+ "&tgtClassNodeId="
			+ tgtClassNodeId + "&sourceTableName=" + sourceTableName;
	var usdAdd = new CommonDialog(dialogId, "800", "400", toActionUrl, title,
			false, true, false, "", true);
	usdAdd.show();
}

/**
 * 条件设置弹出页
 */
function conditionSet() {
	var dialogId = "conditionSetDialog";
	var node = $('#classTree').tree('getSelected');
	var nodeId = node.attributes.ID;
	var nodeName = node.attributes.ARCHIVE_CLASS_NODE_NAME;
	var sysId = node.attributes.SYS_ID;
	nodeName = encodeURI(nodeName);
	var type = node.attributes.TABLE_IS_TRUE_TABLE;// 节点属性标识（Y 真实表 N 虚拟表 ）
	var toActionUrl = "platform/LantopFieldMapSetController/toConditionSetPage?dialogId="
			+ dialogId
			+ "&nodeId="
			+ nodeId
			+ "&nodeName="
			+ nodeName
			+ "&sysId=" + sysId + "&type=" + type;
	//commonLang.tip.conditionSet替换"条件设置"
	var usdAdd = new CommonDialog(dialogId, "800", "400", toActionUrl, commonLang.tip.conditionSet,
			false, true, false, "", true);
	usdAdd.show();
}

/**
 * 删除对应关系
 */
function deleteMapSet() {
	var rows = $('#lantopFieldMapSetDataGrid').datagrid("getChecked");
	var ids = [];
	if (rows.length > 0) {
		//commonLang.tip.confirm替换'请确认',commonLang.optip.del.deleteData替换'您确定要删除当前所选的数据？'
		$.messager.confirm(commonLang.tip.confirm, commonLang.optip.del.deleteData, function(b) {
			if (b) {
				for ( var i = 0, length = rows.length; i < length; i++) {
					ids.push(rows[i].ID);
				}
				$.ajax({
					url : 'platform/LantopFieldMapSetController/deleteMapSet',
					data : {
						ids : ids.join(';'),
						sysId: sysId
					},
					type : 'post',
					dataType : 'json',
					success : function(result) {
						afterRefres();
						if (result.flag == "success") {
							parent.parent.parent.$.messager.show({
								title : '提示',
								//commonLang.optip.del.success替换"删除成功!"
								msg : commonLang.optip.del.success,
								timeout : 2000,
								showType : 'slide'
							});
						} else {
							if (result.flag == "failure") {
								parent.parent.parent.$.messager.show({
									title : '提示',
									//commonLang.optip.del.fail替换"删除失败!"
									msg : commonLang.optip.del.fail,
									timeout : 2000,
									showType : 'slide'
								});
							} else {
								$.messager.alert('提示', result.flag, 'warning');
							}
						}
					}
				});
			}
		});
	} else {
		//commonLang.tip.alert替换'提示',commonLang.optip.del.selectRecord替换'请选择要删除的记录！'
		$.messager.alert(commonLang.tip.alert, commonLang.optip.del.selectRecord, 'warning');
	}
}
/**
 * 刷新表格
 */
function afterRefres() {
	var node = $('#classTree').tree('getSelected');
	var type = node.attributes.TABLE_IS_TRUE_TABLE;
	var sourceTableId = node.attributes.ID;
	if (type == "") {// 点击非物理表
		refrash("@@@@@");
	} else {// 点击物理表
		refrash(sourceTableId);
	}
}